-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add AllowedHosts to Actor Definitions and Config Database #21363
Conversation
I wanted to add some validation that |
allowedHosts: | ||
hosts: [] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This example denies source-faker
internet access entirely
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lgtm!
Hmm now that I think about it, actor definition makes sense for API connectors, but would we also want to consider supporting allowed hosts for DB connectors? The existing (non custom) DB connector definitions wouldn't know beforehand what the IP of the target DB is for a specific instance of a connector, but in the context of custom definitions, would we require the DB endpoint to be baked into the definition, or do we have something else in mind here? |
@git-phu yep! The plan is to be able to reference values from the config, e.g |
Ah ok I see, thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
airbyte-config/config-persistence/src/main/java/io/airbyte/config/persistence/ConfigWriter.java
Outdated
Show resolved
Hide resolved
|
|
* Add AllowedHosts to actor_definitions and database * use objects for better null-ness handling * Tables.ACTOR_DEFINITIO
Part of the Network Isolation epic. Closes #21183
This PR updates the actor definitions to provide
allowedHosts.hosts
, which is an array of URLs (or config matchers) which instances of this connector will be allowed to connect to.There are a few logical cases:
allowedHosts
is not present on the actor definition, this connector does not have any network restrictions.allowedHosts.hosts
is present on the actor definition, and is an empty array (see example included forsource-faker
), this connector is denied all network access.allowedHosts.hosts
is present on the actor definition, and the array has content, access will be granted to those hosts, IPs, or patterns